<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Boost.MultiIndex Documentation - Tests</title>
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="start" href="index.html">
<link rel="prev" href="examples.html">
<link rel="up" href="index.html">
<link rel="next" href="future_work.html">
</head>

<body>
<h1><img src="../../../boost.png" alt="boost.png (6897 bytes)" align=
"middle" width="277" height="86">Boost.MultiIndex Tests</h1>

<div class="prev_link"><a href="examples.html"><img src="prev.gif" alt="examples" border="0"><br>
Examples
</a></div>
<div class="up_link"><a href="index.html"><img src="up.gif" alt="index" border="0"><br>
Index
</a></div>
<div class="next_link"><a href="future_work.html"><img src="next.gif" alt="future work" border="0"><br>
Future work
</a></div><br clear="all" style="clear: all;">

<hr>

<p>
The Boost.MultiIndex test suite exercises the whole spectrum of
functionalities provided by the library. Although the tests are not meant
to serve as a learning guide, the interested reader may find it
useful to inspect the source code to gain familiarity
with some of the least common features offered by Boost.MultiIndex.
</p>

<p align="center">
<table cellspacing="0" cellpadding="5">
  <caption><b>Boost.MultiIndex test suite.</b></caption>
<tr>
  <th>Program</th>
  <th>Description</th>
</tr>
<tr>
  <td><a href="../test/test_alloc_awareness.cpp"><code>test_alloc_awareness.cpp</code></a></td>
  <td>Checks <a href="https://en.cppreference.com/w/cpp/named_req/AllocatorAwareContainer">allocator
  awareness</a>.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_basic.cpp"><code>test_basic.cpp</code></a></td>
  <td>Simple program along the lines of the employees example studied in the
  tutorial.</td>
</tr>
<tr>
  <td><a href="../test/test_capacity.cpp"><code>test_capacity.cpp</code></a></td>
  <td><code>empty</code>, <code>size</code>, <code>resize</code>
  (non key-based indices) and <code>reserve</code>/<code>capacity</code>
  (random access indices only).</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_comparison.cpp"><code>test_comparison.cpp</code></a></td>
  <td>Comparison between indices.</td>
</tr>
<tr>
  <td><a href="../test/test_composite_key.cpp"><code>test_composite_key.cpp</code></a></td>
  <td><code>composite_key</code> and <code>composite_key_compare</code>.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_conv_iterators.cpp"><code>test_conv_iterators.cpp</code></a></td>
  <td>Checks convertibility of non-constant to constant iterators.</td>
</tr>
<tr>
  <td><a href="../test/test_copy_assignment.cpp"><code>test_copy_assignment.cpp</code></a></td>
  <td>Various forms of assignment: copy, <code>operator =</code>, insertion,
  (non key-based indices only) <code>assign</code> .
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_hash_ops.cpp"><code>test_hash_ops.cpp</code></a></td>
  <td>Hashing operations.</td>
</tr>
<tr>
  <td><a href="../test/test_iterators.cpp"><code>test_iterators.cpp</code></a></td>
  <td>Constant and non-constant iterators and their reverse variants.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_key.cpp"><code>test_key.cpp</code></a></td>
  <td>Terse key specification syntax.</td>
</tr>
<tr>
  <td><a href="../test/test_key_extractors.cpp"><code>test_key_extractors.cpp</code></a></td>
  <td>Covers all use cases of key extractors shipped with the library.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_list_ops.cpp"><code>test_list_ops.cpp</code></a></td>
  <td>List-like operations particular to sequenced and random access indices.</td>
</tr>
<tr>
  <td><a href="../test/test_modifiers.cpp"><code>test_modifiers.cpp</code></a></td>
  <td>Checks the family of insertion and erasing operations.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_mpl_ops.cpp"><code>test_mpl_ops.cpp</code></a></td>
  <td>Metaprogramming manipulations of <code>multi_index_container</code> types.</td>
</tr>
<tr>
  <td><a href="../test/test_node_handling.cpp"><code>test_node_handling.cpp</code></a></td>
  <td>Operations involving node extraction and insertion.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_observers.cpp"><code>test_observers.cpp</code></a></td>
  <td>Checks observer member functions of ordered and hashed indices.</td>
</tr>
<tr>
  <td><a href="../test/test_projection.cpp"><code>test_projection.cpp</code></a></td>
  <td>Projection of iterators among indices.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_range.cpp"><code>test_range.cpp</code></a></td>
  <td>Exercises the <code>range</code> facility (ordered indices only).</td>
</tr>
<tr>
  <td><a href="../test/test_rank_ops.cpp"><code>test_rank_ops.cpp</code></a></td>
  <td>Specific operations of ranked indices.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_rearrange.cpp"><code>test_rearrange.cpp</code></a></td>
  <td>Rearrange functions of sequenced and random access indices.</td>
</tr>
<tr>
  <td><a href="../test/test_safe_mode.cpp"><code>test_safe_mode.cpp</code></a></td>
  <td>Comprehensive coverage of all conditions checked in safe mode.</td> 
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_serialization1.cpp"><code>test_serialization1.cpp</code></a><br>
      <a href="../test/test_serialization2.cpp"><code>test_serialization2.cpp</code></a><br>
      <a href="../test/test_serialization3.cpp"><code>test_serialization3.cpp</code></a></td>
  <td>Serialization support.</td> 
</tr>
<tr>
  <td><a href="../test/test_set_ops.cpp"><code>test_set_ops.cpp</code></a></td>
  <td>Set-like operations particular to ordered indices.</td>
</tr>
<tr class="odd_tr">
  <td><a href="../test/test_special_set_ops.cpp"><code>test_special_set_ops.cpp</code></a></td>
  <td>Checks special lookup operations using compatible sorting criteria.</td>
</tr>
<tr>
  <td><a href="../test/test_update.cpp"><code>test_update.cpp</code></a></td>
  <td><code>replace</code>, <code>modify</code> and <code>modify_key</code>.</td>
</tr>
</table>
</p>

<hr>

<div class="prev_link"><a href="examples.html"><img src="prev.gif" alt="examples" border="0"><br>
Examples
</a></div>
<div class="up_link"><a href="index.html"><img src="up.gif" alt="index" border="0"><br>
Index
</a></div>
<div class="next_link"><a href="future_work.html"><img src="next.gif" alt="future work" border="0"><br>
Future work
</a></div><br clear="all" style="clear: all;">

<br>

<p>Revised May 9th 2020</p>

<p>&copy; Copyright 2003-2020 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
Distributed under the Boost Software 
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
http://www.boost.org/LICENSE_1_0.txt</a>)
</p>

</body>
</html>
